package cn.iocoder.yudao.module.order.controller.admin.memberstream.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import javax.validation.constraints.*;

/**
* 会员流水 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 * @author Administrator
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberStreamBaseVO {

    @Schema(description = "会员ID", required = true)
    @NotNull(message = "会员ID不能为空")
    private Integer memberId;

    @Schema(description = "会员手机号", required = true)
    @NotNull(message = "会员手机号不能为空")
    private String phoneNumber;

    @Schema(description = "变动前的余额", required = true)
    @NotNull(message = "变动前的余额不能为空")
    private BigDecimal previousBalance;

    @Schema(description = "变动金额", required = true)
    @NotNull(message = "变动金额不能为空")
    private BigDecimal transactionAmount;

    @Schema(description = "变动后的余额", required = true)
    @NotNull(message = "变动后的余额不能为空")
    private BigDecimal currentBalance;

    @Schema(description = "平台订单号", required = true)
    @NotNull(message = "平台订单号不能为空")
    private String orderNumber;

    @Schema(description = "业务类型", required = true)
    @NotNull(message = "业务类型不能为空")
    private String businessType;

    @Schema(description = "支付方式", required = true)
    @NotNull(message = "支付方式不能为空")
    private String paymentMethod;

    @Schema(description = "创建时间", required = true)
    @NotNull(message = "创建时间不能为空")
    private Date createdAt;

}
